package com.sugar.queryinfo.module.business.api.bi.dto.resp;

import lombok.Data;

/**
 * 司法报告 响应体
 */
@Data
public class ZCI101RespVO {

    // 基本信息
    private BaseInfo baseInfo;

    // 公安不良信息
    private SecurityInfo securityInfo;

    // 个人司法信息
    private CourtInfo courtInfo;

    // 案件概览
    private CaseOverviewInfo caseOverviewInfo;

    // 报告URL链接，可用于在线查看完整的报告并用于下载
    private String reportUrl;


    @Data
    public static class BaseInfo {

        // 姓名
        private String name;
        // 年龄
        private Integer age;
        // 性别
        private String sex;
        // 身份证号码
        private String idCard;
        // 手机号码
        private String phone;
        // 户籍所在地
        private String location;
    }

    @Data
    public static class SecurityInfo {
        // 以下字段值为1表示命中，0表示未命中
        // 前科，表明用户侵犯公民人身权利，民主权利（在逃，盗窃、诈骗、抢劫、故意伤害、强奸....在刑或前科等）
        private Integer front;
        // 经济类前科，表明用户破坏金融秩序、非法吸存、违发贷款、金融诈骗、集资诈骗、保险诈骗、假币..在刑或前科等
        private Integer economyFront;
        // 妨害社会管理秩序，表明用户扰乱社会公共秩序、妨害司法、妨害国境管理、妨害文物管理、涉毒、涉黄....在刑或前科
        private Integer disrupSocial;
        // 重点，表明用户危害国家、公共安全，涉恐、疆藏，涉稳、涉黑、涉及境外等
        private Integer ikey;
        // 涉交通案件，表明用户危险驾驶、交通肇事等
        private Integer trafficRelated;
    }

    @Data
    public static class CourtInfo {

        // 民事案件数
        private Integer civilCasesCount;
        // 刑事案件数
        private Integer criminalCasesCount;
        // 行政案件数
        private Integer administrativeCasesCount;
        // 非诉保全审查数
        private Integer preservationCasesCount;
        // 执行案件数
        private Integer enforcementCasesCount;
        // 管辖案件数
        private Integer supervisionCasesCount;
        // 赔偿案件数
        private Integer compensationCasesCount;
        // 强制清算与破产案件数
        private Integer bankruptcyCasesCount;
        // 案件详细信息
        private Object newMultCourtInfo;
    }

    @Data
    public static class CaseOverviewInfo {

        //失信命中，0未命中，1命中
        private Integer disinCaseCounts;
        //限高命中，0未命中，1命中
        private Integer limitCaseCounts;
        //被告总案件数量
        private Integer beigaoTotalCasesCounts;
        //被告总未结案数量
        private Integer beigaoTotalWeiCaseCounts;
        //被执行案件数
        private Integer executionCaseCounts;
        //被告总案件金额
        private Integer beigaoTotalCaseAmounts;
        //关联企业
        private Integer affiliateCompany;
        //最近案件年份
        private String leastCaseTime;
    }
}
